package com.demo2do.boyle.backend.service.report;

import java.util.List;
import java.util.Map;

import org.apache.poi.ss.formula.functions.T;

import com.demo2do.boyle.common.entity.aduser.Aduser;
import com.demo2do.boyle.common.entity.advertisement.Advertisement;
import com.demo2do.core.service.GenericService;
import com.demo2do.core.web.resolver.Page;

/**
 * @author Jason.Y
 */
public interface ReportAduserService extends GenericService<T>{
	
	
	/**
     * @return the advertisement count
     */
    public int count();
    
    /**
     * 
     * @return
     */
    public int count(Class<T> clazz);
    
    /**
     * 
     * @param status
     * @return the advertisement count
     */
    public int count(String period);

    /**
     * 
     * @param page
     * @return the advertisement list
     */
    public List<Map<String,Object>> list(Page page);
    
    /**
     * 
     * @param page
     * @param status
     * @return the auditing advertisement list
     */
    public List<Map<String, Object>> listByPeriod(Page page, String period);
    
    /**
     * 
     * @param aduser
     * @return List<Advertisement>
     */
    public List<Advertisement> listRecords(Aduser aduser);

}
